:root {
  --primary-color: #31c27c;
  /* 全局变量根元素，定义初始颜色 */
}

body {
  margin: 0;
  /* 外边距清0 */
  background: #f5f5f5;
  /*背景颜色*/
  font-family: Microsoft Yahei;
  /* 设置字体 */
  font-size: 14px;
  /*字体大小*/
  /* min-width: 1000px; */
}

a {
  text-decoration: none;
  /*消除a标签的默认样式，如下画线，规定文本装饰：取消已经存在的任何文本装饰*/
  color: #000;
  /* a标签的字体颜色 */
}

/* display，规定如何显示某个 HTML 元素：元素垂直居中对齐，flex弹性盒子布局*/
header {
  height: 90px;
  /*头部高度*/
  background: white;
  /* 背景色 */
  display: flex;
  /* flex布局 */
  align-items: center;
  /*父级元素设为弹性，以及居中，为了图片居中*/
}

.header-inner,
main {
  /* width: 1200px; */
  padding: 20px;
  /* 内边距 */
  margin: auto;
  /*居中对齐*/
}

.tag-list {
  margin-top: 50px;
  margin-bottom: 15px;
}

/* 规定如何显示某个 HTML 元素，inline-block包含了行内元素和块内元素的特点，
即设置了inline-block属性的元素既拥有了block元素可以设置width和height的特性，又保持了inline元素不换行的特性。*/
.tag-item {
  display: inline-block;
  /*行内块元素，在一条线上排列并可以设置宽高*/
  padding: 0 8px;
  /* 上下内边距为0 左右内边距为8px */
  margin-right: 24px;
  /* 右边的外边距为24px */
  line-height: 26px;
  /* 行高26px */
  color: #000;
  /* 字体颜色 */
  text-decoration: none;
  /* 去除默认的样式 */
}

/* 绿色背景，白色字体 */
.tag-active {
  background: var(--primary-color);
  color: white;
}

.tag-item:not(.tag-active):hover {
  color: var(--primary-color);
  /*鼠标移到除第一个外目标时字体变绿*/
}

/* 处理元素内的空白字符,nowrap 文本不会换行，文本会在在同一行上继续，直到遇到 <br> 标签为止
内容溢出元素框隐藏，
文本溢出，以用来多行文本的情况下，用省略号“…”隐藏超出范围的文本。 以下作为溢出显示省略号 */
.nowrap {
  white-space: nowrap;
  /* 元素内的空白保留一个 */
  overflow: hidden;
  /* 隐藏溢出内容且不出现滚动条 */
  text-overflow: ellipsis;
  /* 用省略符号来代表被修剪的文本 */
}

/* grid网格布局，内容按照行和列的格式进行布局
设置行模板
设置row-gap行间距和column-gap列间距的简写 */
.playlist {
  display: grid;
  /*grid布局*/
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  /*自动填充，列宽最少200px,最多1fr*/
  gap: 45px 15px;
  /*行间距与列间距*/
  margin-bottom: 45px;
}

/* flex布局，
设置一个定位作用：使其内部元素绝对定位是相对他来说的，
内容溢出元素框隐藏，
 */
.cover-wrap {
  display: flex;
  position: relative;
  overflow: hidden;
  width: 100%;
  margin-bottom: 15px;
  align-items: center;
  /* 垂直居中 */
  justify-content: center;
  /* 水平居中 */
  cursor: pointer;
  /*鼠标移动到变为小手*/
}

/* transition属性，让属性变化成为一个持续一段时间的过程，而不是立即生效的，
1·property设置过渡效果
2·duration规定完成过渡效果需要多少秒
3·timing-function规定速度效果函数
4·delay定义过渡效果何时开始 */
.cover-img {
  width: 100%;
  /*占满父元素盒子*/
  transition: all 0.75s;
  /*渐变效果*/
}

/* 跟  position: relative;  联动，设置一个定位作用：使其内部元素绝对定位是相对他来说的，
绝对定位：使遮罩覆盖整个图片 */
.cover-mask {
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  background: #000;
  opacity: 0; /* 初始透明，完全不可见 */
  transition: all 0.5s; /* 渐变效果 */
}

/* 绝对定位，使得播放按钮位于图片中心 */
.cover-play {
  position: absolute;
  left: 50%;
  top: 50%;
  margin-left: -35px;
  margin-top: -35px;
  /*调整外边距使图片位于中间*/
  opacity: 0;
  /* 初始透明，完全不可见 */
  transform: scale(0.7);
  /* 初始缩放 */
  transition: all 0.5s;
  /* 渐变效果 */
}

/* 遮罩的不透明度渐变 */
.cover-wrap:hover .cover-mask {
  opacity: 0.2;
}

/* 播放按钮的不透明度和缩放渐变 */
.cover-wrap:hover .cover-play {
  opacity: 1;
  transform: scale(1);
}

/* 封面图片的缩放渐变 */
.cover-wrap:hover .cover-img {
  transform: scale(1.07);
}

  /* 鼠标移上去时的颜色 */
.album-title:hover {
  color: var(--primary-color);
}
.album-author {
  color: #999;
  line-height: 1.6;
}

  /* 鼠标移上去的颜色 */
.album-author:hover {
  color: var(--primary-color);
}
.album-time {
  color: #999;
}

.page {
  display: flex;
  /* flex布局 */
  align-items: center;
  justify-content: center;
  /* 垂直居中 */
}
.page-item {
  display: inline-block;
  color: #a2a2a2;
  line-height: 50px;
  padding: 0 20px;
  margin: 10px;
  font-size: 16px;
}

.page-current,
.page-item:not(.page-more):hover {
  background: var(--primary-color);
  /* 序号不含更多背景色 */
  color: white;
  /* 字体颜色 */
}

footer {
  margin-top: 60px;
  background: #333;
  height: 200px;
}
